$(function () {


    /**
     * 基于准备好的dom，初始化echarts图表
     * 仪表
     * 内存消耗
     */
    var myChart = echarts.init(document.getElementById('main'));
    var option = {
        tooltip: {
            formatter: "{a} <br/>{b} : {c}%"
        },
        toolbox: {
            show: true,
            feature: {
                mark: {show: true}
            }
        },
        series: [
            {
                name: '消耗',
                type: 'gauge',
                min: 0,
                max: 100,
                splitNumber: 10,       // 分割段数，默认为5
                axisLine: {            // 坐标轴线
                    lineStyle: {       // 属性lineStyle控制线条样式
                        color: [[0.2, '#33cabb'], [0.8, '#36a2eb'], [1, '#ff6384']],
                        width: 8
                    }
                },
                axisTick: {            // 坐标轴小标记
                    splitNumber: 10,   // 每份split细分多少段
                    length: 12,        // 属性length控制线长
                    lineStyle: {       // 属性lineStyle控制线条样式
                        color: 'auto'
                    }
                },
                axisLabel: {           // 坐标轴文本标签，详见axis.axisLabel
                    textStyle: {       // 其余属性默认使用全局文本样式，详见TEXTSTYLE
                        color: 'auto'
                    }
                },
                splitLine: {           // 分隔线
                    show: true,        // 默认显示，属性show控制显示与否
                    length: 30,         // 属性length控制线长
                    lineStyle: {       // 属性lineStyle（详见lineStyle）控制线条样式
                        color: 'auto'
                    }
                },
                pointer: {
                    width: 4
                },
                title: {
                    show: true,
                    offsetCenter: [0, '-40%'],       // x, y，单位px
                    textStyle: {       // 其余属性默认使用全局文本样式，详见TEXTSTYLE
                        fontWeight: 'bolder'
                    }
                },
                detail: {
                    formatter: '{value}/%',
                    textStyle: {       // 其余属性默认使用全局文本样式，详见TEXTSTYLE
                        color: 'auto',
                        fontWeight: 'bolder',
                        fontSize: 15
                    }
                },
                data: [{value: 100, name: '100/G'}]
            }
        ]
    };

    // 为echarts对象加载数据
    myChart.setOption(option);
    /**
     * 定时请求
     setInterval(function () { }, 2000);
     */
    $.ajax({
        type: "GET",
        url: "/system/resourceUsage",
        datatype: "json",
        success: function (data) {
            //  console.log(data)
            if (data.code == 200) {
                option.series[0].data[0].name = data.mem.total + 'G';
                option.series[0].data[0].value = data.mem.usage;
                myChart.setOption(option, true);
            }
        }
    });

    /**
     * 新冠疫情数据表
     * @type {HTMLElement}
     */
    var dom = document.getElementById("container");
    var chlinaChart = echarts.init(dom);
    chlinaOption = null;
    chlinaOption = {
        title: {
            text: '冠状病毒（COVID-19）统计',
            subtext: '',
            left: 'center'
        },
        tooltip: {
            trigger: 'item'
        },
        legend: {
            orient: 'vertical',
            left: 'left',
            data: ['累计确诊', '现存确诊', '死亡', '治愈']
        },
        visualMap: {
            min: 0,
            max: 0,
            left: 'left',
            top: 'bottom',
            text: ['高', '低'],           // 文本，默认为数值文本
            calculable: true
        },
        toolbox: {
            show: true,
            orient: 'vertical',
            left: 'right',
            top: 'center',
            feature: {
                mark: {show: true},
                dataView: {show: true, readOnly: false},
                // restore: {show: true},
                //  saveAsImage: {show: true}
            }
        },
        series: [
            {
                name: '累计确诊',
                type: 'map',
                mapType: 'china',
                roam: false,
                label: {
                    normal: {
                        show: true
                    },
                    emphasis: {
                        show: true
                    }
                },
                data: []
            }, {
                name: '现存确诊',
                type: 'map',
                mapType: 'china',
                roam: false,
                label: {
                    normal: {
                        show: true
                    },
                    emphasis: {
                        show: true
                    }
                },
                data: []
            }, {
                name: '死亡',
                type: 'map',
                mapType: 'china',
                roam: false,
                label: {
                    normal: {
                        show: true
                    },
                    emphasis: {
                        show: true
                    }
                },
                data: []
            }, {
                name: '治愈',
                type: 'map',
                mapType: 'china',
                roam: false,
                label: {
                    normal: {
                        show: true
                    },
                    emphasis: {
                        show: true
                    }
                },
                data: []
            }
        ]
    };
    ;

    $.ajax({
        type: "GET",
        url: "/queryEpidemicData",
        dataType: "json",
        success: function (data) {
            console.log(data)
            var da = data.data.list;
            chlinaOption.series[0].data = da
            let number = [];

            chlinaOption.title.subtext = data.data.times
            /**
             econ.set("value",argument.econNum)
             econ.set("deathNum",argument.deathNum)
             econ.set("cureNum",argument.cureNum)
             获取最小值   console.log(number[0])
             */
            for (const argument of da) {
                number.push(argument.value)
            }
            number.sort(function (a, b) {
                return a - b;
            });
            var max = number[number.length - 1];
            chlinaOption.visualMap.max = max


            //  option.series[2].data = da
            //   option.series[3].data = da
            chlinaChart.setOption(chlinaOption, true);
        }, error: function (e) {
            console.log(e)
        }
    });

    /**
     * 浏览器大小改变时重置大小
     */
    window.onresize = function () {
        chlinaChart.resize();
        myChart.resize();
    };

})